(read-face-attribute): If there's no entry for the user's input in
authorMiles Bader <miles@gnu.org>
Fri, 15 Dec 2000 03:10:44 +0000 (03:10 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 15 Dec 2000 03:10:44 +0000 (03:10 +0000)
VALID, just use it as-is (this will often result in an error, but it may
be OK for e.g. colors using hexadecimal notation, and at least will
yield a better error message).

lisp/faces.el

index 9821be0736203af0621cc75c23273fe8c49b55a8..36bc0a48dc7c2a03028d86be324549a6b577210c 100644 (file)
@@ -923,13 +923,14 @@ of a global face.  Value is the new attribute value."
               ;; Terminal frames can support colors that don't appear
               ;; explicitly in VALID, using color approximation code
               ;; in tty-colors.el.
-              (if (and (memq attribute '(:foreground :background))
-                       (not (memq window-system '(x w32 mac)))
-                       (not (member new-value
-                                    '("unspecified"
-                                      "unspecified-fg" "unspecified-bg"))))
+              (when (and (memq attribute '(:foreground :background))
+                         (not (memq window-system '(x w32 mac)))
+                         (not (member new-value
+                                      '("unspecified"
+                                        "unspecified-fg" "unspecified-bg"))))
                   (setq new-value (car (tty-color-desc new-value frame))))
-              (setq new-value (cdr (assoc new-value valid))))))
+              (when (assoc new-value valid)
+                (setq new-value (cdr (assoc new-value valid)))))))
          ((eq valid 'integerp)
           (setq new-value (face-read-integer face old-value attribute-name)))
          (t (error "Internal error")))